\begin{tikzpicture}[
    node distance = 2cm and 2cm,
    N/.style = {circle, draw, font=\Large, minimum size=1.1em},
    every edge/.style = {draw, -> , semithick, shorten >=2pt},
    every edge quotes/.style = {auto=right, inner sep=2pt}
    ]
    \node [N] (1) at (0,0) {1};
    \node [N] (2) [right of =1] {2};
    \node [N] (3) [right of =2] {3};
    \node [anchor=south] at ([yshift=-0.2em]1.north) {+};
    \node [anchor=south] at ([yshift=-0.2em]3.north) {-};
    \path (2) edge [loop above] node [above] {b} (2) %循环
    (1) edge [->] node [above] {a} (2)
    (2) edge [->] node [above] {c} (3);
    
    \node [N] (4) at ([xshift=5em]3) {4};
    \node [N] (5) [right of=4] {5};
    \node [anchor=south] at ([yshift=-0.2em]4.north) {+};
    \node [anchor=north] at ([yshift=0em]4.south) {-};
    \path (4) edge [bend left, ->] node [above] {a} (5)
    (5) edge [bend left, ->] node [above] {b} (4); 
    
\end{tikzpicture}
